﻿using EMall.Application;
using EMall.Query;

namespace EMall.ProductService.Categories
{
    public interface ICategoryAppService : IApplicationService
    {
        Task CreateAsync(CreateCategoryDto input);
        Task UpdateAsync(UpdateCategoryDto input);
        Task DeleteAsync(DeleteCategoryDto input);
        Task<CategoryDto> GetAsync(int id);
        Task<IEnumerable<CategoryListDto>> GetListAsync(GetCategoryListQueryDto input);
        Task<IPagedList<CategoryListDto>> GetPagedListAsync(GetCategoryListPagingAndSortingQueryDto input);
        Task<CategoryTree> GetTreeAsync();
    }
}